home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / c / tsr_c.exe / VECTORS.H < prev   
C/C++ Source or Header  |  1992-03-24  |  2KB  |  57 lines

  1. #include <stdio.h>
  2.  
  3. typedef unsigned int   WORD;
  4. typedef unsigned char  BYTE;
  5. typedef unsigned long  DWORD;
  6.  
  7. #define STACKSIZE 2048
  8. #define BEGINSTACK(a) {                                            \
  9.                         a##ss = _SS;                               \
  10.                         a##sp = _SP;                               \
  11.                         _SS = FP_SEG (a##stack);                   \
  12.                         _SP = FP_OFF (&(a##stack[STACKSIZE]));     \
  13.                       }
  14.  
  15. #define ENDSTACK(a)   {                                            \
  16.                         _SS = a##ss;                               \
  17.                         _SP = a##sp;                               \
  18.                       }
  19.  
  20. #define DOSOK()       ((*indos & 0x000F) == 0x0)
  21. #define DOS28OK()     ((*indos & 0x000F) == 1)
  22.  
  23. #define MY_ID         0xEA
  24. #define DETECT_CMD    0x00
  25. #define UNLOAD_CMD    0x10
  26.  
  27.  
  28. void chain (void interrupt (*) (void));
  29. void interrupt new_8 ();
  30. void interrupt new_23 ();
  31. void interrupt new_24 (int,int,int,int,int,int,int,int,int,int,int,int);
  32. void interrupt new_28 ();
  33.  
  34. void interrupt new_2F (int,int,int,int,int,int,int,int,int,int,int,int);
  35. void tsr (int);
  36. void enter_tsr (int x);
  37.  
  38. extern void interrupt (*old_8) (void);
  39. extern void interrupt (*old_23) (void);
  40. extern void interrupt (*old_24) (void);
  41. extern void interrupt (*old_28) (void);
  42. extern void interrupt (*old_2F) (void);
  43.  
  44. extern BYTE _8_chk_dos;
  45. extern WORD _8_count;
  46. extern WORD _8_flag;
  47. extern WORD _8_max;
  48. extern WORD _8_stack[STACKSIZE];
  49. extern WORD _8_ss;
  50. extern WORD _8_sp;
  51. extern WORD want_in;
  52. extern WORD _28_flag;
  53. extern WORD *indos;      // pun not intended "WordStar in DOS"
  54. extern WORD old_psp;
  55.  
  56. extern FILE *file;
  57.